// 引入axios
import axios from 'axios';
// 引入进度条
import nprogress from 'nprogress';
// 引入样式
import 'nprogress/nprogress.css'
// 利用axios对象有一个方法create方法,可以创建axios实例
let requests=axios.create({
    // 设置一些配置项
    // 基础路径:再发请求的时候,可以吧baseURL右侧属性值,在请求地址中出现
    baseURL:'/api',
    // 超时的设置,请求超时的设置
    timeout: 5000
});
// 请求拦截器:只要项目中发请求之前,请求拦截器,就可以拦截到,做一些事情
requests.interceptors.request.use((config) => {
    // 进度条开始加载
    nprogress.start();
    //返回配置得想
    return config;
});
// 响应拦截器
requests.interceptors.response.use((resolve)=>{
    // 进度条结束
    nprogress.done();
    // 简化服务器返回数据格式
    // 成功
    return resolve.data
},(err)=>{
    // 失败:终止Promise链, 当你书写new Promise 返回pending也可以
    return Promise.reject(err);
});
// 对外暴露
export default requests;